AX25

Section: Maintenance Commands (8)
Index Return to Main Contents
 

NAME

ax25 - AX25/IP ifconfig Utility  

SYNOPSIS

ax25 [ -v ] <network address> <ham call sign> <tty_name>  

DESCRIPTION

Amateur packet radio enthusiasts nowadays send IP packets over radio links. Hanging off a serial port on their computer, TNC modems are used to provide CSMA-like behaviour so that the single radio channel can be shared between multiple stations (somewhat like how ethernet works). Packet radio is a broadcast medium, hence the TNC is responsible for sharing the bandwidth with other TNC's. The computer talking to the TNC must use a protocol called KISS (a simple derivative of SLIP encoding) to send/receive packets to/from the TNC.

AX25 packets vary in length. The packet header at the start of the packet has four parts:

1.
A (guaranteed to be) unique source address.
2.
A destination addresses.
3.
An AX25 packet type field. In our case it is always set to UI, to indicate that this is an AX25 datagram.
4.
A small number, choosing between various higher level protocols, called the protocol ID.

The addresses found in the header are a simple 7-byte encoding of the HAM radio call sign and substation ID. These addresses are used just like ethernet hardware addresses are, to provide a unique name for each station. The protocol ID can choose between many protocols but users of IP-over-AX25 under Unix are really only concerned with two AX25 sub-protocols: ARP and IP.

AX25 packets (received via KISS encoding from the TNC) which are found to contain ARP or IP datagrams are decoded and handed off to the kernel networking code. Similarily, the network code gives outbound datagrams to the AX25 device driver, where the reverse process occurs: they are encapsulated in AX25 packets and, after KISS encoding, sent off to the TNC for transmission.

Both incoming and outgoing ARP datagrams require special handling. The Unix kernel's internal ARP cache contains translations between 4-byte IP addresses and 6-byte ethernet addresses. It's convenient to not rewrite the kernel's ARP implementation, so an encoding scheme was developed which converts 7-byte AX25 addresses to/from 6-byte ethernet addresses. This is too twisted to describe here, so refer to the device driver source.

 

OPTIONS

You must be root to run this. It's a good idea to start it from /etc/rc.local in the background.
-v
Print out more information while setting up the link.
<network address>
This provides the IP address for the network port. This name gets passed to ifconfig(8), so it can be a name out of the hosts(5) database.
<ham call sign>
This is your HAM call sign, with your substation ID.
<tty_name>
Communicate over the named device at 9600 baud.

 

EXAMPLE

ax25 44.135.145.28 ve6uug-0 /dev/ttyb
 

SEE ALSO

Mike Chepponis (K3MC), Phil Karn (KA9Q). The KISS TNC: A simple Host-to-TNC communications protocol.

PacComm. Operating Manual for PacComm Packet Controllers, pg. 31.

RFC1055
Romkey, J. A Nonstandard for Transmission of IP Datagrams Over Serial Lines: SLIP

The README file supplied with this AX25 package.

 

BUGS

Etherfind doesn't work as expected the first time you run it!

TNC's that toggle DTR for each packet can cause problems because streams M_HANGUP and M_UNHANGUP messages are treated incorrectly. If you see console messages about M_HANGUP and M_UNHANGUP, cutting the DTR line will solve the problem.

 

AUTHORS

Theo de Raadt <deraadt@lego.cuc.ab.ca> [kernel hack]

William Graham (VE6UUG) <uug@indigo.cuc.ab.ca> [HAM]


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLE
SEE ALSO
BUGS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 13:56:10 GMT, August 13, 2024